// 创建BigInt实例
// 1、不能用 BigInt 构造函数创建 BigInt类的实例
// 2、用 Object 提供支持可以将 bigint 原始值包裹到 BigInt的一个实例中

try {
    let x = new BigInt(1);
    console.log( x );
} catch ( e ) {
    console.log( e.name, e.message );
}

console.log( BigInt.prototype.constructor );
console.log( BigInt.prototype.constructor === BigInt ); // true

let primitive = 100n;
console.log( primitive, typeof primitive ); // 100n bigint

// 仅当参数值为 bigint 时才会返回包裹了 bigint 原始值的 BigInt实例
let x = Object( primitive );
console.log( x, typeof x ); // [BigInt: 100n] object

// 仅当参数值为 bigint 时才会返回包裹了 bigint 原始值的 BigInt实例
let y = new Object( primitive );
console.log( y, typeof y ); // [BigInt: 100n] object

console.log( x === y ); // false